{
  /*
    学习目标：接口
    作用：描述对象结构

    interface与type的区别
      1. type是可以描述任意类型
      2. interface只能描述对象
       interface可以继承别的接口, 达到复用的效果

    语法：
      1. interface 大写开头的接口名称 {  }
      2. interface Xxxx extends Yyyy {
          
        }
      3. 👍interface名称命名带一个大写I

  */

  interface IAnimal {
    name: string;
    age: number;
  }

  interface Person extends IAnimal {
    gender?: string;
    sayHello?(): void;
    sayYes?: () => void;
  }

  interface Cat {
    miaomiao(): void;
  }

  const zs: Person = {
    name: 'zs',
    age: 18,
    gender: '123',
    // sayHello() {
    //   console.log('hello  ----->  ');
    // },
  };
}
